package com.uade.dao;

import java.util.List;

import javax.ejb.Stateless;

import com.uade.entities.ConfiguracionEntity;
import com.uade.model.Modelo;

@Stateless
public class ConfiguracionDAOImpl extends
		AbstractBaseGenericDAOImpl<ConfiguracionEntity, Long> implements
		ConfiguracionDAO {

	@SuppressWarnings("unchecked")
	@Override
	public List<ConfiguracionEntity> obtenerListado() {
		return em.createQuery("SELECT c FROM ConfiguracionEntity c ")
				.getResultList();
	}

	@Override
	public ConfiguracionEntity obtenerConfiguracionLog() {
		List<ConfiguracionEntity> configuraciones = em
				.createQuery(
						"SELECT c FROM ConfiguracionEntity c WHERE c.estado=? OR c.tipoServicio=? OR c.tipoServicio=?")
				.setParameter(1, Modelo.ACTIVO.toString())
				.setParameter(2, Modelo.JMS.toString())
				.setParameter(3, Modelo.WEB_SERVICE.toString()).getResultList();

		if (null == configuraciones || configuraciones.isEmpty())
			return null;

		return configuraciones.get(0);
	}

	@Override
	public ConfiguracionEntity obtenerConfiguracionLogVenta() {
		List<ConfiguracionEntity> configuraciones = em
				.createQuery(
						"SELECT c FROM ConfiguracionEntity c WHERE c.estado=? AND c.tipoServicio=?")
				.setParameter(1, Modelo.ACTIVO.toString())
				.setParameter(2, Modelo.WEB_SERVICE_VENTA.toString())
				.getResultList();

		if (null == configuraciones || configuraciones.isEmpty())
			return null;

		return configuraciones.get(0);
	}

}
